package cn.sc.summer.constant.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.ArrayList;
import java.util.List;

/**
 * 周内时间枚举类
 */
@Getter
@AllArgsConstructor
public enum WeekDayEnum {

    /**
     * 周日
     */
    SUNDAY("周日", 1),

    /**
     * 周一
     */
    MONDAY("周一", 2),

    /**
     * 周二
     */
    TUESDAY("周二", 3),

    /**
     * 周三
     */
    WEDNESDAY("周三", 4),

    /**
     * 周四
     */
    THURSDAY("周四", 5),

    /**
     * 周五
     */
    FRIDAY("周五", 6),

    /**
     * 周六
     */
    SATURDAY("周六", 7),

    ;

    /**
     * 周几
     */
    private final String info;

    /**
     * 国际标准编号，1表示周日，2表示周一
     */
    private final Integer national;

    /**
     * 获取国标星期几
     *
     * @param national 国标排序
     * @return 周内枚举
     */
    public static String getByNational(Integer national) {
        if (null == national) {
            return null;
        }
        for (WeekDayEnum enums : WeekDayEnum.values()) {
            if (enums.national.equals(national)) {
                return enums.info;
            }
        }
        return null;
    }

    /**
     * 获取一周的名称
     *
     * @return 一周名称
     */
    public static List<String> getWeekNames() {
        List<String> weekNames = new ArrayList<>();
        for (WeekDayEnum enums : WeekDayEnum.values()) {
            weekNames.add(enums.info);
        }
        return weekNames;
    }

}
